home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 98
/
Skunkware 98.iso
/
src
/
mail
/
pine3.96.tar.gz
/
pine3.96.tar
/
pine3.96
/
imap
/
ANSI
/
c-client
/
env_t20.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-09-07
|
3KB
|
94 lines
/*
* Program: Environment routines -- TOPS-20 version
*
* Author: Mark Crispin
* 6158 Lariat Loop NE
* Bainbridge Island, WA 98110-2098
* Internet: MRC@Panda.COM
*
* Date: 1 August 1988
* Last Edited: 7 September 1994
*
* Copyright 1994 by Mark Crispin
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notices appear in all copies and that both the
* above copyright notices and this permission notice appear in supporting
* documentation, and that the name of Mark Crispin not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. This software is made available "as is", and
* MARK CRISPIN DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO
* THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN NO EVENT SHALL
* MARK CRISPIN BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
* THIS SOFTWARE.
*
*/
/* Dedication:
* This file is dedicated with affection to the TOPS-20 operating system, which
* set standards for user and programmer friendliness that have still not been
* equaled by more `modern' operating systems.
* Wasureru mon ka!!!!
*/
/* Environment manipulate parameters
* Accepts: function code
* function-dependent value
* Returns: function-dependent return value
*/
void *env_parameters (long function,void *value)
{
return NIL;
}
/* Write current time in RFC 822 format
* Accepts: destination string
*/
void rfc822_date (char *date)
{
int zone;
char *zonename;
struct tm *t;
struct timeval tv;
struct timezone tz;
gettimeofday (&tv,&tz); /* get time and timezone poop */
t = localtime (&tv.tv_sec); /* convert to individual items */
zone = -tz.tz_minuteswest; /* TOPS-20 doesn't have tm_gmtoff or tm_zone */
zonename = timezone (tz.tz_minuteswest,t->tm_isdst);
/* and output it */
sprintf (date,"%s, %d %s %d %02d:%02d:%02d %+03d%02d (%s)",
days[t->tm_wday],t->tm_mday,months[t->tm_mon],t->tm_year+1900,
t->tm_hour,t->tm_min,t->tm_sec,
(t->tm_isdst ? 1 : 0) + zone/60,abs (zone) % 60,zonename);
}
/* Write current time in internal format
* Accepts: destination string
*/
void internal_date (char *date)
{
int zone;
char *zonename;
struct tm *t;
struct timeval tv;
struct timezone tz;
gettimeofday (&tv,&tz); /* get time and timezone poop */
t = localtime (&tv.tv_sec); /* convert to individual items */
zone = -tz.tz_minuteswest; /* TOPS-20 doesn't have tm_gmtoff or tm_zone */
/* and output it */
sprintf (date,"%2d-%s-%d %02d:%02d:%02d %+03d%02d",
t->tm_mday,months[t->tm_mon],t->tm_year+1900,
t->tm_hour,t->tm_min,t->tm_sec,
(t->tm_isdst ? 1 : 0) + zone/60,abs (zone) % 60);
}